package br.com.trumah.managedbean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.SelectItem;

import br.com.trumah.dao.impl.DoacaoDAOImpl;
import br.com.trumah.model.Doacao;
import br.com.trumah.model.Rota;
import br.com.trumah.model.StatusDoacao;
import br.com.trumah.model.enums.TipoStatusDoacao;

@ManagedBean(name="doacaoManagedbean")
@SessionScoped
public class DoacaoManagendbean {

	private DoacaoDAOImpl doacaoDAO = new DoacaoDAOImpl();
	private Doacao doacao = new Doacao();
	private List<Doacao> lista = new ArrayList<Doacao>();
	private Doacao selecionado = new Doacao();
	
	public DoacaoManagendbean() {
		super();
	}

	public String salvar(){
		doacaoDAO.salvar(getDoacao());
		todos();
		return null;
	}
	
	public String alterar(){
		doacaoDAO.atualizar(getSelecionado());
		return null;
	}
	
	public List<Doacao> todos(){
		lista = doacaoDAO.listar();
		return lista;
	}
	
	public String excluir(){
		doacaoDAO.remover(getSelecionado());
		todos();
		return null;
	}

	public DoacaoDAOImpl getDoacaoDAO() {
		return doacaoDAO;
	}

	public void setDoacaoDAO(DoacaoDAOImpl doacaoDAO) {
		this.doacaoDAO = doacaoDAO;
	}

	public Doacao getDoacao() {
		return doacao;
	}

	public void setDoacao(Doacao doacao) {
		this.doacao = doacao;
	}

	public List<Doacao> getLista() {
		return lista;
	}

	public void setLista(List<Doacao> lista) {
		this.lista = lista;
	}

	public Doacao getSelecionado() {
		return selecionado;
	}

	public void setSelecionado(Doacao selecionado) {
		this.selecionado = selecionado;
	}
	
	public List<SelectItem> getObjetosDoacao(){
		List<SelectItem> itens = new ArrayList<SelectItem>();
		itens.add(new SelectItem(null, "-- Selecione --"));
		for(TipoStatusDoacao obj : TipoStatusDoacao.values()){
			itens.add(new SelectItem(obj, obj.obterDescricao()));
		}
		return itens;
	}
		
}
